Virtualization technologies have become prevalent in the IT market place and in cloud computing industries. Virtualization allows one to run multiple virtual machines on the same host platform, each virtual machine being capable of supporting and executing its own operating system and applications. A “virtual machine” may be thought of as a “virtual” (software) implementation of a physical processing device. While virtualization techniques used to create one or more virtual machines on a physical computer present an efficient use of hardware resources, it may also create various challenges for operating efficiency. One such challenge relates to management of virtual disks. A virtual machine is typically composed of one of more virtual disks used to store the guest operating system, application programs and application data. The virtual disks are stored as files on the host computer or on a remote storage device, and appear to the guest operating system as standard disk drives. Activating the virtual machine and working with it can increase the size of the virtual disks, especially if new software is provisioned. However, if new software is removed from a virtual disk, the virtual disk is not automatically resized. Accordingly, disk resources in the virtual computer system may be wasted and the performance of the virtual machine itself may be degraded.